package com.hh.store.mapper;

import com.hh.store.VO.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Hanh
 * @date 2023/8/16 16:00s
 */
@Mapper
public interface StoreMapper {

    Integer getAllStoreCount(QueryStorePageVo queryStorePageVo) ;

    List<StoreForQueryWebVo> getStoreByQuery(QueryStorePageVo queryStorePageVo) ;

    List<CommonGetStoreVo> getStoreByAreaCode(@Param("areaCode") String areaCode);

    void updateStatus(UpdateStatusVo statusVo);

    List<StoreRoomVo> getStoreRoomByLegalPersonCode(@Param("legalpersonCode") String legalpersonCode);

    List<StoreAreaVo> getStoreAreaByRoomCode(@Param("storeRoomCode") String storeRoomCode);

    Integer getStoreByCode(@Param("code") String code);

    Integer getStoreByName(@Param("name") String name);

    void insertStore(@Param("storeAreaCode") String storeAreaCode,@Param("name") String name,@Param("code") String code);

    void updateStoreName(UpdateStoreVo updateStoreVo);

    void removeStore(@Param("code") String code);

    void removeStoreByArea(@Param("areaCode") String areaCode);

    List<LegalStoreVo> getLegalByCode(@Param("store") List<AddStoreCodeNameVo> store);

    void createTempTable();

    void insertTempTable(@Param("store")List<AddStoreCodeNameVo> store);

    List<Integer> checkRepeat();

    void insertStoreList(AddStoreVo addStoreVo);

    List<StoreAreaVo> getStoreAreaByLegalPersonCode(@Param("legalPersonCode") String legalPersonCode);

    List<CommonGetStoreVo> getStoreByLegalPersonCode(@Param("legalPersonCode")String legalPersonCode);

    Integer getExistStoreName(List<AddStoreCodeNameVo> store);

    Integer getExistStoreCode(List<AddStoreCodeNameVo> store);
}
